package cc.fine.svc.main.service.tbl;

import cc.fine.svc.main.bean.dto.UserInfoDto;
import cc.fine.svc.main.bean.es.UserSearchEsEntity;
import cc.fine.svc.main.bean.es.UserUpdateEsEntity;
import cc.fine.svc.main.bean.po.TblUser;
import cc.fine.svc.main.bean.vo.UserVo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author wyihe
 * @since 2023-10-25
 */
public interface TblUserService extends IService<TblUser> {

    /**
     * 存储 user 查询结果，保存在es中，这是index
     */
    String User_Search_Es_Index = "user_search";

    /**
     * 获取用户信息
     * 包含粉丝数量等等信息
     * @param userId
     * @return
     */
    UserInfoDto getInfo(String userId);

    List<Map<String, Object>> search(String keyword, Integer page, Integer limit);

    List<TblUser> getByIdBatch(List<String> userIds);

    /**
     * 更新用户信息
     * @param userId
     * @param vo
     */
    void updateInfo(String userId, UserUpdateEsEntity entity);
}
